$(function () {
    //1.全选模块
    //把全选按钮（checkall）的状态赋值给三个小复选框
    $('.checkall').change(function () {
        //获取复选框的状态
        var state = $(this).prop('checked')
        //把复选框状态给三个小的复选框
        $('.j-checkbox,.checkall').prop('checked', state)
        if (state) {
            getSum()
            //添加背景颜色
            $('.cart-item').addClass('check-cart-item')
        } else {
            //移除背景颜色
            $('.cart-item').removeClass('check-cart-item')
            $('.amount-sum em').html(0);
            $('.price-sum em').html('￥' + 0);
        }
    })

    //2．如果小复选框被选中的个数等于3就应该把全选按钮选上，否则全选按钮不选。
    $('.j-checkbox').change(function () {
        //获取小复选框被选中的个数
        var num = $('.j-checkbox:checked').length
        if (num === $('.j-checkbox').length) {
            $('.checkall').prop('checked', true)
            getSum()
        } else if (num <= $('.j-checkbox').length && num > 0) {
            $('.checkall').prop('checked', false)
            getSum()
        } else {
            $('.amount-sum em').html(0);
            $('.price-sum em').html('￥' + 0);
        }
        //选中商品添加背景颜色
        var state = $(this).prop('checked')
        if (state) {
            $(this).parents('.cart-item').addClass('check-cart-item')
        } else {
            $(this).parents('.cart-item').removeClass('check-cart-item')
        }
    })

    //3.增减商品数量模块
    //首先声明一个变量,点击+号（increment)，就让这个值++，
    $('.increment').click(function () {
        //获取商品数量
        var n = $(this).siblings('.itxt').val()
        n++
        $(this).siblings('.itxt').val(n)
        //修改商品小计价格
        //单价的值*当前商品的价格=小计价格
        //获取单价的值
        var p = $(this).parents('.p-num').siblings('.p-price').html().substr(1)
        //修改小计价格(保留两位小数)
        $(this).parents('.p-num').siblings('.p-sum').html('￥' + (p * n).toFixed(2))
        getSum()
    })
    //首先声明一个变量,点击-号（decrement)，就让这个值--，
    $('.decrement').click(function () {
        //获取商品数量
        var n = $(this).siblings('.itxt').val()
        //当商品数量为1时，不能继续减
        if (n == 1) {
            return false
        }
        n--
        $(this).siblings('.itxt').val(n)
        //获取单价的值
        var p = $(this).parents('.p-num').siblings('.p-price').html().substr(1)
        //修改小计价格
        $(this).parents('.p-num').siblings('.p-sum').html('￥' + (p * n).toFixed(2))
        getSum()
    })

    //4．用户修改文本框的值,然后计算小计模块
    $('.itxt').change(function () {
        //获取文本框的值
        var n = $(this).val();
        if (n < 0) {
            alert('参数错误')
            return false;
        } else {
            //获取商品单价
            var price = $(this).parents('.p-num').siblings('.p-price').html().substr(1)
            //计算小计价格=文本框的值*商品单价
            $(this).parents('.p-num').siblings('.p-sum').html('￥' + (n * price).toFixed(2))
            getSum()
        }

    })

    //5.计算总计和总额模块
    getSum()
    function getSum() {
        var count = 0; //计算商品总数
        var money = 0  //计算商品总额
        //获取每件商品数
        $('.itxt').each(function (i, ele) {
            var state = $(this).parents('.p-num').siblings('.p-checkbox').children('.j-checkbox').prop('checked')
            if (state) {
                count += parseInt($(ele).val())
                $('.amount-sum em').html(count);
            }
        })
        //获取每件商品小计
        $('.p-sum').each(function (i, ele) {
            var state = $(this).siblings('.p-checkbox').children('.j-checkbox').prop('checked')
            if (state) {
                money += parseFloat($(ele).html().substr(1))
                $('.price-sum em').html('￥' + money.toFixed(2));
            }
        })
    }
    //6.删除商品模块
    //(1)点击商品后面的删除按钮，商品被删除
    $('.p-action a').click(function () {
        $(this).parents('.cart-item').remove()
        //重新计算价格
        getSum()
        if ($('.j-checkbox:checked').length == 0) {
            $('.amount-sum em').html(0);
            $('.price-sum em').html('￥' + 0);
        }

    })
    //(2)删除选中的商品
    $('.remove-batch').click(function () {
        //删除的是复选框被选中的商品
        $('.j-checkbox:checked').parents('.cart-item').remove();
        $('.amount-sum em').html(0);
        $('.price-sum em').html('￥' + 0);
    })
    //(3)清空购物车
    $('.clear-all').click(function () {
        $('.cart-item').remove();
        $('.amount-sum em').html(0);
        $('.price-sum em').html('￥' + 0);
    })
})